.elapsed-time {
  text-align: center;
  font-size: 20px;
  font-family: monospace;
}

.tokens-per-second {
  text-align: center;
  font-family: monospace;
  color: var(--vscode-descriptionForeground);
}

.progress {
  width: 100%;
  height: 3px;
  background-color: var(--vscode-dropdown-border);
  border-radius: 999px;
  overflow: hidden;
  position: relative;

  &__fill {
    height: 100%;
    background-color: var(--vscode-focusBorder);
    transition: width var(--transition-duration-150)
      var(--transition-timing-function);

    &--indeterminate {
      height: 100%;
      background-color: var(--vscode-focusBorder);
      position: absolute;
      animation: indeterminate-progress 1.5s infinite linear;
    }
  }
}

.content {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.file-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.file-item__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.file-item__name {
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--vscode-descriptionForeground);
  flex-shrink: 1;

  > span:nth-child(2) {
    margin-left: 0.5em;
    opacity: 0.7;
    font-size: 0.9em;
  }
}

.file-item__status {
  font-size: 12px;
  flex-shrink: 0;

  &--waiting {
    color: var(--vscode-descriptionForeground);
  }
  &--thinking {
    color: var(--vscode-focusBorder);
  }
  &--receiving {
    color: var(--vscode-focusBorder);
  }
  &--done {
    color: var(--vscode-testing-iconPassed);
  }
}

.file-item__details {
  font-family: monospace;
  font-size: 10px;
  color: var(--vscode-descriptionForeground);
  text-align: right;
}

@keyframes indeterminate-progress {
  from {
    left: -50px;
    width: 10px;
  }
  50% {
    width: 50px;
  }
  to {
    left: 100%;
    width: 10px;
  }
}
